﻿<UserControl x:Class="Adalbertus.BudgetPlanner.Views.BudgetPlanning.RevenuesView"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:cal="http://www.caliburnproject.org"
>
    <Expander IsExpanded="False" ExpandDirection="Down">
        <Expander.Header>
            <WrapPanel>
                <Label ToolTip="Dowolne wpływy do budżetu domowego - można je później dodać w trakcie">Wpływy:</Label>
                <Label Content="{Binding Path=TotalSumOfRevenues}" Margin="5 0 0 0" />
            </WrapPanel>
        </Expander.Header>
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition />
                <ColumnDefinition />
            </Grid.ColumnDefinitions>
            <GroupBox Grid.Column="0">
                <GroupBox.Header>
                    <WrapPanel>
                        <Label>Wpływy z dochodów</Label>
                        <Label Content="{Binding Path=SumOfIncomes}" Margin="5 0 0 0" />
                    </WrapPanel>
                </GroupBox.Header>
                <StackPanel>
                    <WrapPanel>
                        <Label>Nazwa</Label>
                        <ComboBox ItemsSource="{Binding AvailableIncomes}" 
                                  SelectedItem="{Binding SelectedAvailableIncome}"
                                  IsSynchronizedWithCurrentItem="True"
                                  DisplayMemberPath="Name" Width="200" 
                                  ToolTip="Proszę wybrać dochód z listy poniżej.">
                        </ComboBox>

                        <Label>Data</Label>
                        <DatePicker SelectedDate="{Binding IncomeEntryDate}" SelectedDateFormat="Long" />

                        <Label>Kwota</Label>
                        <TextBox Text="{Binding IncomeEntryValue, UpdateSourceTrigger=PropertyChanged}"
                                 Width="100"/>
                        
                        <Button Content="Dodaj wpływy z dochodów" ToolTip="Wstawienie wpływów z nowego dochodu" cal:Message.Attach="[Event Click] = [Action AddIncomeEntry()]" />
                    </WrapPanel>

                    <DataGrid ItemsSource="{Binding BudgetIncomes}" AutoGenerateColumns="False">
                        <DataGrid.Columns>
                            <DataGridTextColumn Header="Nazwa" Binding="{Binding Name}" />
                            <DataGridTemplateColumn Header="Data">
                                <DataGridTemplateColumn.CellTemplate>
                                    <DataTemplate>
                                        <DatePicker SelectedDate="{Binding Date}" SelectedDateFormat="Long" />
                                    </DataTemplate>
                                </DataGridTemplateColumn.CellTemplate>
                            </DataGridTemplateColumn>
                            <DataGridTextColumn Header="Kwota" Binding="{Binding Value}" />
                            <DataGridTemplateColumn CanUserReorder="False" CanUserResize="False">
                                <DataGridTemplateColumn.CellTemplate>
                                    <DataTemplate>
                                        <WrapPanel>
                                            <Button>Zmień</Button>
                                            <Button Content="Usuń wpis" cal:Message.Attach="[Event Click] = [Action RemoveIncomeEntry($dataContext)]" />
                                        </WrapPanel>
                                    </DataTemplate>
                                </DataGridTemplateColumn.CellTemplate>
                            </DataGridTemplateColumn>
                        </DataGrid.Columns>
                    </DataGrid>
                </StackPanel>
            </GroupBox>

            <GroupBox Grid.Column="1">
                <GroupBox.Header>
                    <WrapPanel>
                        <Label>Wpływy z oszczędności</Label>
                        <Label Content="{Binding Path=SumOfSavings}" Margin="5 0 0 0" />
                    </WrapPanel>
                </GroupBox.Header>

                <StackPanel>
                    <WrapPanel>
                        <Label>Nazwa</Label>
                        <ComboBox ItemsSource="{Binding AvailableSavings}" 
                                  SelectedItem="{Binding SelectedAvailableSaving}"
                                  IsSynchronizedWithCurrentItem="True"
                                  DisplayMemberPath="Name" Width="200" 
                                  ToolTip="Proszę wybrać oszczędności z listy poniżej."/>

                        <Label>Data</Label>
                        <DatePicker SelectedDate="{Binding SavingEntryDate}" SelectedDateFormat="Long"/>
                        
                        <Label>Kwota</Label>
                        <TextBox Text="{Binding SavingEntryValue, UpdateSourceTrigger=PropertyChanged}"
                                 Width="100"/>
                        
                        <Button Content="Dodaj wpływy z oszczędności" ToolTip="Wstawienie wpływu pochodzącego z oszczędności" cal:Message.Attach="[Event Click] = [Action AddSavingEntry()]" />
                    </WrapPanel>

                    <DataGrid ItemsSource="{Binding BudgetSavings}" AutoGenerateColumns="False">
                        <DataGrid.Columns>
                            <DataGridTextColumn Header="Nazwa" Binding="{Binding Name}" />
                            <DataGridTemplateColumn Header="Data">
                                <DataGridTemplateColumn.CellTemplate>
                                    <DataTemplate>
                                        <DatePicker SelectedDate="{Binding Date}" SelectedDateFormat="Long" />
                                    </DataTemplate>
                                </DataGridTemplateColumn.CellTemplate>
                            </DataGridTemplateColumn>
                            <DataGridTextColumn Header="Kwota" Binding="{Binding Value}" />
                            <DataGridTemplateColumn CanUserReorder="False" CanUserResize="False">
                                <DataGridTemplateColumn.CellTemplate>
                                    <DataTemplate>
                                        <WrapPanel>
                                            <Button>Zmień</Button>
                                            <Button Content="Usuń wpis" cal:Message.Attach="[Event Click] = [Action RemoveSavingEntry($dataContext)]" />
                                        </WrapPanel>
                                    </DataTemplate>
                                </DataGridTemplateColumn.CellTemplate>
                            </DataGridTemplateColumn>
                        </DataGrid.Columns>
                    </DataGrid>
                </StackPanel>
            </GroupBox>
        </Grid>
    </Expander>

</UserControl>
